#pragma once
#include "Physics\PhysicalObject.h"
#include "Graphics\Model.h"

class PhysicsGeometry;
class Geometries;

class Actor :
	public PhysicalObject
{
public:
	Actor(float fMass, Geometries* geometry, PhysicsGeometry* physics);
	virtual ~Actor(void);

	virtual void Draw();
	virtual bool Update(float fDeltaTime);

	void SetTargetPosition(const Vector4& vTarget) { m_vTargetPos = vTarget; }
	const Vector4& GetPosition() { return m_Model->GetPosition(); }
	void SetPosition(const Vector4& vPos) { m_Model->SetPosition(vPos); }

protected:
	Model*		m_Model;
	Vector4		m_vTargetPos;

	//movement varibles
	float m_mass; //kg
	float m_speed; //m/s
};

